<?php
namespace app\index\model;
use think\Db;
use think\Model;
use think\Session;
use think\Cookie;

class Token extends Model{
/*1: 首先在数据库的 users 表中添加两个字段
1): token
2): time_outtoken 用于存储用户的 tokentime_out 用于设置用户 token 的过期时间首先创建函数: checkToekn($token)函数用于检验 token 是否存在, 并且更新 token*/
    public function checkToken($token)
    {
        //$user = new \app\index\model\Users();
        //$res = $user->field('time_out')->where('token', $token)->select();

        if (!empty($res)) {
            //dump(time() - $res[0]['time_out']);
            if (time() - $res[0]['time_out'] > 0) {

                return false; //token长时间未使用而过期，需重新登陆
            }
            $new_time_out = time() + 604800; //604800是七天
          /*  $res = $user->isUpdate(true)
                ->where('token', $token)
                ->update(['time_out' => $new_time_out]);*/
            if ($res) {

                return 90001; //token验证成功，time_out刷新成功，可以获取接口信息
            }
        }
        return 90002; //token错误验证失败
    }


    private function makeToken()
    {

        $str = md5(uniqid(md5(microtime(true)), true)); //生成一个不会重复的字符串
        $str = sha1($str); //加密
        return $str;
    }

}